Writing code for FreeCAD is not hard, and you don't need any permission, you can start right now to work on something you want, then submit a patch on the issue tracker or request a merge from a git branch. To avoid headaches you should meet the following prerequisites first:
Before you start to code for FreeCAD, you must know how FreeCAD works. This seems obvious, but if you don't know how it is supposed to work you won't know what to do internally or how to do it.
Almost everything can be done either in Python or C++. The internals work almost the same in both languages. We suggest you read through the Power users hub pages, even if you're going to code in C++ since it will give you a good overview of the internals.
If you are going to work in C++, make sure you can compile FreeCAD without problems first.
Present yourself to other developers. FreeCAD is before anything a social project, we discuss a lot of things on the forum before implementing it, and it's always best to discuss your ideas and tell people what you are planning to do before actually doing it. We also have an IRC channel which is synchronized with our Matrix channel, as well as a Discord channel.
Since 2016, FreeCAD also participates in the Google Summer of Code 2020. Be sure to check our ideas there if you are interested in participating in the next edition.
More and more of the FreeCAD functionality is not written in the FreeCAD code itself but in addons, macros and extensions. Together, this ecosystem is what makes FreeCAD powerful. Oftentimes, working on an addon is easier because there is less code to read and understand, and fewer people involved. check the Addons repository and Macros repository to get some ideas!
Create models
FreeCAD features a Models library that is free and open to everyone. Why not add some useful parts there, that could be reused by others? Be sure to create models yourself from scratch, to keep the library 100% free of possibly copyrighted or non-free components.